Skip to content

[자동차 경주] 남지윤 미션 제출합니다.#1

Open
yuninam2128 wants to merge 13 commits into
Java-JavaScript-Language-Stuty:mainfrom
yuninam2128:yuninam2128
Open

[자동차 경주] 남지윤 미션 제출합니다.#1
yuninam2128 wants to merge 13 commits into
Java-JavaScript-Language-Stuty:mainfrom
yuninam2128:yuninam2128

Conversation

@yuninam2128

@yuninam2128 yuninam2128 commented Feb 13, 2025

Copy link
Copy Markdown

피드백이 필요한 부분

  • MVC 패턴을 적용해본다고 해보긴 했는데 이게 맞는지 모르겠습니다..
  • 코드가 조금 긴 것 같습니다.
  • 클래스를 여러 개 써서 프로그래밍 하는 것에 익숙하지 않아서, 클래스를 이렇게 사용하는게 맞는지 궁금합니다.
  • 어떤 예외가 더 있을지 궁금합니다.

고려한 예외

  • 입력 처리 : 이름이 중복으로 들어오는 경우, 같은 자동차인 것으로 처리
  • 입력 처리 : ' 지윤' = '지윤'으로 처리. 즉, 양쪽 공백은 고려하지 않음
  • 입력 오류 : 반복 횟수가 숫자가 아니거나, 0 이하인 경우
  • 입력 오류 : 이름이 5자 초과인 경우
  • 입력 오류 : 빈 문자열이 이름으로 들어오는 경우

문자열과 숫자를 입력받는 기능을 추가하였다.
@yuninam2128 yuninam2128 changed the title 📝 Update README.md [자동차 경주] 남지윤 미션 제출합니다. Feb 13, 2025
쉼표를 기준으로 이름을 구분하는 문자열 전처리 기능을 추가하였다.
랜덤값을 활용해 전진/멈춤을 판별하고, 자동차별 전진 수를 카운트하는 기능을 추가하였다.
'-'를 카운트 횟수만큼 반복 출력해 실행 결과를 출력하는 기능을 추가하였다.
문제에서 제시하는 조건에 일치하도록 출력 기능을 수정하였다.
전진 수를 비교하여 우승자 이름을 출력하는 기능을 추가하였다.
중복, 조건에 어긋나는 입력, 빈 문자열을 처리하는 기능을 추가하였다.
중복 코드를 함수로 만드는 등 코드를 간결하게 개선하였다.
App.js, Model.js, View.js 추가, MVC 패턴으로 수정하였다.
예외처리 관련 테스트 게이스를 추가하였다.
});
});
});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

아 테스트 코드를 작성한다는 게 무슨 뜻인지 몰랐는데 이렇게 하는거군요,,,
참고하겠습니다

Comment thread src/View.js
}

export default View;

No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MVC 패턴으로 깔끔하게 구분하셔서 좋은 것 같습니다
근데 궁금한 점이 있다면, 기본 Console 라이브러리로 수행할 수 있는 작업들을 View 클래스를 새로 생성해서 다시 기능을 정의하면 어떤 이점이 있는지 궁금합니다
MVC 패턴을 아직 제대로 모르는 입장에서 보면 이 파일이 왜 필요할까..? 라는 생각이 들어서요!

Comment thread src/Model.js
if (Random.pickNumberInRange(0, 9) >= 4) {
this.count++;
}
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

만약 가독성, 유지보수 측면을 더 고려할 수 있다면
숫자 4나 9같은 매직 넘버를 상수로 정의하는 방법도 있습니다!
ex)
const BASELINE = 4;
const MAX_RANDOM_NUMBER = 9;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants